/*
 * Volume.java Copyright 2004 Paul Mukherjee
 */
package org.nanhill.support.hibernate.search.demo.filesearch;

import java.util.Date;
import java.util.Set;

/**
 * @author pmu
 * @version $Revision: 1.1 $
 * 
 * Class representing a backed-up volume.
 */
public class Volume {
  
  /**
   * Description of the volume.
   */
  private String description;
  
  /**
   * Unique identifier for the file, corresponding to the primary key in the database.
   */
  private Integer id;
  
  /**
   * Date that the volume was archived.
   */
  private Date archiveDate;
  
  /**
   * Name of the volume.
   */
  private String name;
  
  /**
   * Keywords associated with the volume.
   */
  private Set keywords;
  
  /**
   * Files in the volume.
   */
  private Set files;
  
  /**
   * Creates an instance of this class.
   */
  public Volume(){
  }
  
  /**
   * @return Returns the keywords.
   */
  public Set getKeywords() {
    return keywords;
  }
  /**
   * @param keywords The keywords to set.
   */
  public void setKeywords(Set keywords) {
    this.keywords = keywords;
  }
  
  /**
   * Creates an instance of this class
   * @param description A description of the volume.
   * @param id Unique identifier for the file, corresponding to the primary key in the database.
   * @param archiveDate The date that the volume was archived.
   * @param name The name of the volume.
   */
  public Volume(String description, Integer id, Date archiveDate, String name) {
    this.description = description;
    this.id = id;
    this.archiveDate = archiveDate;
    this.name = name;
  }
  
  /**
   * @return Returns the archiveDate.
   */
  public Date getArchiveDate() {
    return archiveDate;
  }
  
  /**
   * @param archiveDate The archiveDate to set.
   */
  public void setArchiveDate(Date archiveDate) {
    this.archiveDate = archiveDate;
  }
  
  /**
   * @return Returns the description.
   */
  public String getDescription() {
    return description;
  }
  
  /**
   * @param description The description to set.
   */
  public void setDescription(String description) {
    this.description = description;
  }
  
  /**
   * @return Returns the id.
   */
  public Integer getId() {
    return id;
  }
  
  /**
   * @param id The id to set.
   */
  public void setId(Integer id) {
    this.id = id;
  }
  
  /**
   * @return Returns the name.
   */
  public String getName() {
    return name;
  }
  
  /**
   * @param name The name to set.
   */
  public void setName(String name) {
    this.name = name;
  }
  
  /**
   * @return Returns the files.
   */
  public Set getFiles() {
    return files;
  }
  
  /**
   * @param files The files to set.
   */
  public void setFiles(Set files) {
    this.files = files;
  }
}
